home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / programs / falkv63.zip / PORTSET.DOC < prev    next >
Text File  |  1992-01-22  |  5KB  |  105 lines

  1. PORTSET Documentation.
  2.  
  3. Written by Herb Rose, 23 Sept 1991.
  4. Placed into the public domain by Herb Rose, 23 Sept 1991
  5.  
  6. PORTSET is a DOS utility for sending text to a specific serial port.
  7. It was written as a support utility for Falken BBS.  To use SETPORT,
  8. simply enter the SETPORT command at the DOS prompt.  The required
  9. command line parameters are :
  10.  
  11. SETPORT <port> <baud> <text>
  12.  
  13. where :
  14.  
  15.     <port> is the serial port you wish to send text to.  This may be
  16.         COM1, COM2, COM3, COM4, or the actual address of the serial
  17.         port.  COM1-COM4 correspond to addresses 3F8, 2F8, 3E8, 2E8,
  18.         respectively.
  19.  
  20.         If you have a multiport card installed, and wish to configure
  21.         the ports on that card, you would issue a separate SETPORT
  22.         command for each port on the card.  These normally start at
  23.         address 100 and go up from there.  i.e.
  24.             SETPORT 100 2400 "atz\r" would send the string atz<CR> to
  25.         the serial port at address 100, at 2400 baud.
  26.  
  27.     <baud> is the baud rate to set the serial port for.  The port is
  28.         left configured to this baud rate after SETPORT runs.  The
  29.         legal values are : 300, 1200, 2400, 4800, 9600, 19200.
  30.  
  31.     <text> is the actual text you wish to send to the serial port.
  32.         I recommend enclosing the text in quotes.  This keeps the
  33.         text together as one text string, even if there are spaces in
  34.         the text.  Modem commands should end with a \r which is
  35.         interpreted as a Carriage Return ( ENTER key ).  Modems will
  36.         not execute commands until the \r is sent.
  37.  
  38.         Special characters recognized :
  39.             \r  = carriage return, hex 0D
  40.             \n  = line feed, hex 0A
  41.             \^  = put a caret (^) in the text
  42.             ^x  = where 'x' is any character - place a control character
  43.                   in the text. i.e. ^M is ctrl-M, or carriage return.
  44.                   To place the ^ in the text, use \^.
  45.  
  46.  
  47. Example :
  48.  
  49. To set a 2400 baud modem for Falkens suggested modem configuration...
  50.  
  51. PORTSET COM1 2400 "ATE0 S0=1 S2=1 V1 &C1 &D2\r"
  52.  
  53.     AT   : the modem attention signal.  Tells the modem that commands follow.
  54.     E0   : turn off local echo from the modem.
  55.     S0=1 : answer phone after 1 ring
  56.     S2=1 : set modem escape character to hex 01
  57.     V1   : use verbose (text) result codes.
  58.     &C1  : DCD signal follows carrier detect
  59.     &D2  : Modem resets and enters Command Mode when DTR goes high
  60.  
  61. The modem should respond with 'OK' after processing this command text.
  62.  
  63. As you can see, the main purpose of this program is to configure modems
  64. from the command line.  Many modems on the market now have Non-Volatile
  65. RAM (NVRAM) where configurations may be stored even if the modem is
  66. powered off.  This utility allows you to set the configuration you desire
  67. in the modem, and save it to NVRAM.  This is normally done with the &W
  68. command.  The configuration can then be recalled from NVRAM simply by
  69. resetting the modem with the Z command ("ATZ\r").
  70.  
  71. PORTSET does not use serial interrupts.  It accomplishes it's task using
  72. polling techniques.  It should not interfere with any installed serial
  73. drivers, or with any other resident programs that I am aware of.  It may
  74. not work correctly with some multitaskers, because it uses the DOS
  75. timer interrupt to control it's polling routine.
  76.  
  77. Some PCs are slower than others.  In general, there should be no problem
  78. running PORTSET on any computer at speeds up to 19200.  If you have an
  79. XT running at 4.77 mhz, you may have to limit the baud rate to 9600 for
  80. reliable data exchange.
  81.  
  82. PORTSET performs the following functions :
  83.  
  84.     1. Determines if a UART actually resides at the specified port
  85.        address.  To determine this, PORTSET attempts to place the UART
  86.        in Local Loopback mode.  It then toggles the DTR and RTS bits
  87.        of the Line Control Register.  If there is an 8250-type UART
  88.        at that address, the DTR and RTS bits will be reflected in
  89.        the DSR/CTS bits of the modem status register during loopback.
  90.        If the DSR/CTS bits do not correspond with the DTR/RTS bits,
  91.        then either there is no UART there, or it is not working.
  92.     2. Turns interrupts off for the specified port.
  93.     3. Sets the port for 8 bits, no parity, 1 stop bit.
  94.     4. Sets the baud rate for the port.
  95.     5. Lowers DTR and RTS signals.  Some modems are configured to enter
  96.        Command Mode when DTR goes low.
  97.     6. After a 2 second pause, RTS and DTR are raised again.
  98.     7. The text is transmitted to the modem, and all characters received
  99.        from the modem are echoed to the screen.  A 5 second interval is
  100.        used to get data from the modem.
  101.     8. The interrupt enable, line control, and modem control registers
  102.        are restored to their original conditions.
  103.  
  104.  
  105.